﻿namespace EnergyGeneratorSim.Parameters
{
    public class GeneralParameters
    {
        /// <summary>
        /// Gets or sets the rho.
        /// Ohm*m}    {Spez. elektr. Widerstand von Kupfer, je nach Temperatur, Kohlrausch,T193
        /// </summary>
        /// <value>The rho.</value>
        public double rho { get; set; }

        /// <summary>
        /// Gets or sets the rho mag.
        /// kg/m^3}  {Dichte des Magnet-Materials, Eisen, Kohlrausch Bd.3
        /// </summary>
        /// <value>The rho mag.</value>
        public double rhoMag { get; set; }

        /// <summary>
        /// Gets or sets the CT.
        /// 150E-6;} {Farad}    {Kapazität des Kondensators, der mit in der Turbo-Spule (!) in Reihe geschaltet
        /// </summary>
        /// <value>The CT.</value>
        public double CT { get; set; }

        /// <summary>
        /// Gets or sets the CI.
        /// Farad}   {Kapazität des Kondensators, der mit in der Input-Spule (!) in Reihe geschaltet
        /// </summary>
        /// <value>The CI.</value>
        public double CI { get; set; }

        /// <summary>
        /// Gets or sets the rlast.
        /// Ohm}   {Ohm'scher Lastwiderstand im LC-Turbo-Schwingkreis
        /// </summary>
        /// <value>The rlast.</value>
        public double Rlast { get; set; }

        /// <summary>
        /// Gets or sets the um an.
        /// U/min} {Anfangsbedingung mechanisch - Rotierender Magnet: Startdrehzahl
        /// </summary>
        /// <value>The um an.</value>
        public double UmAn { get; set; }

        /// <summary>
        /// Gets or sets the uc.
        /// Volt
        /// </summary>
        /// <value>The uc.</value>
        public double Uc { get; set; }

        /// <summary>
        /// Gets or sets the il.
        /// Ampere} {Anfangsbedingung elektrisch - Kondensatorspannung = 0, Kein Spulenstrom
        /// </summary>
        /// <value>The il.</value>
        public double Il { get; set; }

        /// <summary>
        /// Gets or sets the cr anfang.
        /// Koeffizient einer geschwindigkeits-proportionalen Reibung zwecks mechanischer Leistungs-Entnahme
        /// </summary>
        /// <value>The cr anfang.</value>
        public double crAnfang { get; set; }

        /// <summary>
        /// Gets or sets the phip ziel.
        /// Ziel-Drehzahl, an der die Reibungs-Nachregelung ausgerichtet wird.
        /// </summary>
        /// <value>The phip ziel.</value>
        public double phipZiel { get; set; }

        public GeneralParameters Clone()
        {
            return (GeneralParameters)this.MemberwiseClone();
        }
    }
}
